Azure IoT Edge 將雲端分析和自訂商務邏輯移至裝置,讓您的組織可以專注於商業洞見而非資料管理。 將您的商務邏輯封裝到標準容器中,以擴增您的 IoT 解決方案,然後將這些容器部署到任何裝置,並從雲端進行全面監視。
我們可以使用Azure IoT Edge在邊緣進行分析、或者是異常偵測,可以更快速的回應,也可以減少到雲端的頻寬,所以今天本篇會帶大家部署一個簡單的Linux IoT Edge Runtime!
準備
我們用Azure CLI來建立IoT Hub,所以需要先登入Azure
az login
安裝Extension
az extension add --name azure-iot
建立資源群組
az group create --name IoTEdge-rg --location westus2
建立IoT Hub
az iot hub create --resource-group IoTEdge-rg --name IoTEdge-hub --sku F1 --partition-count 2
在IoT Hub裡面建立一個裝置
az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name IoTEdge-hub
取得連接字串
az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name IoTEdge-hub
我們用範本快速建立一個Edge VM的環境
az deployment group create --resource-group IoTEdge-rg --template-uri "https://aka.ms/iotedge-vm-deploy" --parameters dnsLabelPrefix='iotEdge-vm' --parameters adminUsername='azureUser' --parameters deviceConnectionString=$(az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) --parameters authenticationType='password' --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
建立完後會有一個JSON的輸出,記住SSH的部分
"outputs": {
"public SSH": {
"type": "String",
"value": "ssh azureUser@xxxxxxx
}
},
接著ssh到VM
ssh xxx@xxx.com
可以透過這個指令看IoT Edge有沒有Running
sudo systemctl status iotedge
首先到剛剛建立好的IoT Hub,選擇IoT Edge
點選剛剛建立好的myEdgeDevice,選擇設定模組
在新增模組的地方,選擇Marketplace Module
在Marketplace裡面找Simulated Temperature Sensor
再來直接建立即可
接著到VM看部署模組有沒有成功
sudo iotedge list
監視Log
sudo iotedge logs SimulatedTemperatureSensor -f
接著就可以看到輸出了!
Sending message: 27, Body: [{"machine":{"temperature":29.796817919726855,"pressure":2.0021691300954645},"ambient":{"temperature":20.985177143702831,"humidity":25},"timeCreated":"2020-10-05T02:03:11.6584958Z"}]
當然我們也可以用前幾篇的方法到VScode的Extension看輸出
[圖]
我們透過上面的方式就可以在Edge端部署模組,然後將資料送到IoT Hub,當然我們也可以使用其他不同的模組,比如說AI分析的模組,或者自定義的程式碼,下一篇主題還沒想到,下集待續吧XD